package com.som.service.excel.data2.process;

import java.io.File;
import java.net.URL;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;

import com.som.console.PathEnum;
import com.som.service.FilePathProcInf;

/**
 * 各系统的数据一致性核对
 * 
 * @author liujun
 * @date 2016年4月9日
 * @verion 0.0.1
 */
public class Data2ExcelPathReadImp implements FilePathProcInf
{

	/**
	 * 需求2的输入目录
	 */
	private static final String DATA2_BASE_INPUT_PATH = File.separator + "data2" + File.separator + "input" + File.separator;

	/**
	 * 需求2的输出目录
	 */
	private static final String DATA2_BASE_OUT_PATH = File.separator + "data2" + File.separator + "output" + File.separator;

	public Map<String, String> procPath(String bath)
	{
		Map<String, String> map = new LinkedHashMap<String, String>();

		// 扫描文件个数
		File file = new File(bath + DATA2_BASE_INPUT_PATH);

		if (file.exists())
		{
			String[] fileList = file.list();

			if (null != fileList && fileList.length > 0)
			{
				Arrays.sort(fileList);

				// 全量IP地址(输入文件名为input1.xls),此文件即为需求一：设备采集数据和资管系统数据比对的输出结果1,
				map.put(PathEnum.DATA2_INPUT_NEAREAJOIN.getPathFlag(), bath + DATA2_BASE_INPUT_PATH + fileList[0]);

				// 需以排除input1
				for (int i = 1; i < fileList.length; i++)
				{
					map.put(PathEnum.DATA2_INPUT_COMPINPUT.getPathFlag() + (i - 1), bath + DATA2_BASE_INPUT_PATH + fileList[i]);
				}
			}
		}

		// 设置输出目录
		map.put(PathEnum.DATA2_OUTPUT_COMPINPUT.getPathFlag(), bath + DATA2_BASE_OUT_PATH + "output1.xls");

		return map;
	}

	public static void main(String[] args)
	{
		System.out.println("pathSeparator:===" + File.pathSeparator);
		System.out.println("separator:===" + File.separator);

		Data2ExcelPathReadImp data2 = new Data2ExcelPathReadImp();

		URL classResourceURL = Data2ExcelPathReadImp.class.getClassLoader().getResource(".");
		// 得到根路径
		String basePath = classResourceURL.getPath() + File.separator + "data" + File.separator;

		System.out.println(data2.procPath(basePath));

	}

}
